# nonlocal关键字

def outer():
    """
    这里是让你些当前函数的文档说明的。
    需要说明当前函数的作用，
    如果当前函数还有行参，那么也需要对行参进行一一说明
    name: ......
    :return: 当前函数的返回值
    """
    num = 10

    def inner():
        nonlocal num
        num += 10
        print(num)

    inner()


outer()

print(globals())
'''
魔术变量
__name__ ==> 当前脚本作为主程序，那么值为__main__，如果作为一个模块在另一个模块中引用使用，那么值为文件的名字
__doc__ ==> 当前脚本的文档说明，当前脚本中的第一个 三引号注释就是当前脚本的说明文档
    // 函数的说明文档
    在函数的第一行使用三引号
{
    '__name__': '__main__', 
    '__doc__': None, 
    '__package__': None, 
    '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00000234BBFF8820>, 
    '__spec__': None, 
    '__annotations__': {}, 
    '__builtins__': <module 'builtins' (built-in)>, 
    '__file__': 'F:\\Rongwei\\Python_project_file\\5.模块化编程\\6.nonlocal关键字.py', 
    '__cached__': None, 'outer': <function outer at 0x00000234BBBE3EB0>}

'''
